

<!DOCTYPE html>


<html lang="en" >

  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>Class interactor &#8212; libf3d 2.5.1 documentation</title>
  
  
  
  <script data-cfasync="false">
    document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
    document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
  </script>
  
  <!-- Loaded before other Sphinx assets -->
  <link href="../_static/styles/theme.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=12da95d707ffb74b382d" rel="stylesheet" />

  
  <link href="../_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
  <link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" href="../_static/styles/sphinx-book-theme.css?digest=14f4ca6b54d191a8c7657f6c759bf11a5fb86285" type="text/css" />
    <link rel="stylesheet" type="text/css" href="../_static/collapsible-lists/css/tree_view.css" />
  
  <!-- Pre-loaded scripts that we'll load fully later -->
  <link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=12da95d707ffb74b382d" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=12da95d707ffb74b382d" />

    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
    <script src="../_static/jquery.js"></script>
    <script src="../_static/underscore.js"></script>
    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="../_static/doctools.js"></script>
    <script src="../_static/sphinx_highlight.js"></script>
    <script src="../_static/scripts/sphinx-book-theme.js?digest=5a5c038af52cf7bc1a1ec88eea08e6366ee68824"></script>
    <script src="../_static/collapsible-lists/js/CollapsibleLists.compressed.js"></script>
    <script src="../_static/collapsible-lists/js/apply-collapsible-lists.js"></script>
    <script>DOCUMENTATION_OPTIONS.pagename = 'api/classf3d_1_1interactor';</script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Class log" href="classf3d_1_1log.html" />
    <link rel="prev" title="Class image" href="classf3d_1_1image.html" />
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
  <meta name="docsearch:language" content="en"/>
  </head>
  
  
  <body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">

  
  
  <a class="skip-link" href="#main-content">Skip to main content</a>
  
  <input type="checkbox"
          class="sidebar-toggle"
          name="__primary"
          id="__primary"/>
  <label class="overlay overlay-primary" for="__primary"></label>
  
  <input type="checkbox"
          class="sidebar-toggle"
          name="__secondary"
          id="__secondary"/>
  <label class="overlay overlay-secondary" for="__secondary"></label>
  
  <div class="search-button__wrapper">
    <div class="search-button__overlay"></div>
    <div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
      action="../search.html"
      method="get">
  <i class="fa-solid fa-magnifying-glass"></i>
  <input type="search"
         class="form-control"
         name="q"
         id="search-input"
         placeholder="Search..."
         aria-label="Search..."
         autocomplete="off"
         autocorrect="off"
         autocapitalize="off"
         spellcheck="false"/>
  <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
  </div>
  
    <nav class="bd-header navbar navbar-expand-lg bd-navbar">
    </nav>
  
  <div class="bd-container">
    <div class="bd-container__inner bd-page-width">
      
      <div class="bd-sidebar-primary bd-sidebar">
        

  
  <div class="sidebar-header-items sidebar-primary__section">
    
    
    
    
  </div>
  
    <div class="sidebar-primary-items__start sidebar-primary__section">
        <div class="sidebar-primary-item">
  

<a class="navbar-brand logo" href="../index.html">
  
  
  
  
  
    <p class="title logo__title">libf3d 2.5.1 documentation</p>
  
</a></div>
        <div class="sidebar-primary-item"><nav class="bd-links" id="bd-docs-nav" aria-label="Main">
    <div class="bd-toc-item navbar-nav active">
        <p aria-level="2" class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current nav bd-sidenav">
<li class="toctree-l1 current active has-children"><a class="reference internal" href="library_root.html">Library API</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="namespace_f3d.html">Namespace f3d</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1camera__state__t.html">Struct camera_state_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1context_1_1loading__exception.html">Struct context::loading_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1context_1_1symbol__exception.html">Struct context::symbol_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1cache__exception.html">Struct engine::cache_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1libInformation.html">Struct engine::libInformation</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1no__interactor__exception.html">Struct engine::no_interactor_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1no__window__exception.html">Struct engine::no_window_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1plugin__exception.html">Struct engine::plugin_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1readerInformation.html">Struct engine::readerInformation</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1image_1_1metadata__exception.html">Struct image::metadata_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1image_1_1read__exception.html">Struct image::read_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html">Struct image::write_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interaction__bind__t.html">Struct interaction_bind_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interactor_1_1already__exists__exception.html">Struct interactor::already_exists_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interactor_1_1command__runtime__exception.html">Struct interactor::command_runtime_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interactor_1_1does__not__exists__exception.html">Struct interactor::does_not_exists_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1mesh__t.html">Struct mesh_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1point3__t.html">Struct point3_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1scene_1_1load__failure__exception.html">Struct scene::load_failure_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1utils_1_1string__template_1_1lookup__error.html">Struct string_template::lookup_error</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1utils_1_1tokenize__exception.html">Struct utils::tokenize_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1vector3__t.html">Struct vector3_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1camera.html">Class camera</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1context.html">Class context</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1engine.html">Class engine</a></li>
<li class="toctree-l2"><a class="reference internal" href="class_structf3d_1_1exception.html">Class exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1image.html">Class image</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">Class interactor</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1log.html">Class log</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1ratio__t.html">Class ratio_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1scene.html">Class scene</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1utils.html">Class utils</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1utils_1_1string__template.html">Class utils::string_template</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1window.html">Class window</a></li>
<li class="toctree-l2"><a class="reference internal" href="typedef_types_8h_1a62f3e15e4e18455b52854622b27c02ed.html">Typedef f3d::angle_deg_t</a></li>
</ul>
</li>
</ul>

    </div>
</nav></div>
    </div>
  
  
  <div class="sidebar-primary-items__end sidebar-primary__section">
  </div>
  
  <div id="rtd-footer-container"></div>


      </div>
      
      <main id="main-content" class="bd-main">
        
        

<div class="sbt-scroll-pixel-helper"></div>

          <div class="bd-content">
            <div class="bd-article-container">
              
              <div class="bd-header-article">
<div class="header-article-items header-article__inner">
  
    <div class="header-article-items__start">
      
        <div class="header-article-item"><label class="sidebar-toggle primary-toggle btn btn-sm" for="__primary" title="Toggle primary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
  <span class="fa-solid fa-bars"></span>
</label></div>
      
    </div>
  
  
    <div class="header-article-items__end">
      
        <div class="header-article-item">

<div class="article-header-buttons">





<div class="dropdown dropdown-download-buttons">
  <button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Download this page">
    <i class="fas fa-download"></i>
  </button>
  <ul class="dropdown-menu">
      
      
      
      <li><a href="../_sources/api/classf3d_1_1interactor.rst" target="_blank"
   class="btn btn-sm btn-download-source-button dropdown-item"
   title="Download source file"
   data-bs-placement="left" data-bs-toggle="tooltip"
>
  

<span class="btn__icon-container">
  <i class="fas fa-file"></i>
  </span>
<span class="btn__text-container">.rst</span>
</a>
</li>
      
      
      
      
      <li>
<button onclick="window.print()"
  class="btn btn-sm btn-download-pdf-button dropdown-item"
  title="Print to PDF"
  data-bs-placement="left" data-bs-toggle="tooltip"
>
  

<span class="btn__icon-container">
  <i class="fas fa-file-pdf"></i>
  </span>
<span class="btn__text-container">.pdf</span>
</button>
</li>
      
  </ul>
</div>




<button onclick="toggleFullScreen()"
  class="btn btn-sm btn-fullscreen-button"
  title="Fullscreen mode"
  data-bs-placement="bottom" data-bs-toggle="tooltip"
>
  

<span class="btn__icon-container">
  <i class="fas fa-expand"></i>
  </span>

</button>


<script>
document.write(`
  <button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn rounded-circle" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
    <span class="theme-switch" data-mode="light"><i class="fa-solid fa-sun"></i></span>
    <span class="theme-switch" data-mode="dark"><i class="fa-solid fa-moon"></i></span>
    <span class="theme-switch" data-mode="auto"><i class="fa-solid fa-circle-half-stroke"></i></span>
  </button>
`);
</script>

<script>
document.write(`
  <button class="btn btn-sm navbar-btn search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
    <i class="fa-solid fa-magnifying-glass"></i>
  </button>
`);
</script>
<label class="sidebar-toggle secondary-toggle btn btn-sm" for="__secondary"title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
    <span class="fa-solid fa-list"></span>
</label>
</div></div>
      
    </div>
  
</div>
</div>
              
              

<div id="jb-print-docs-body" class="onlyprint">
    <h1>Class interactor</h1>
    <!-- Table of contents -->
    <div id="print-main-content">
        <div id="jb-print-toc">
            
            <div>
                <h2> Contents </h2>
            </div>
            <nav aria-label="Page">
                <ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-relationships">Nested Relationships</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-types">Nested Types</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#class-documentation">Class Documentation</a></li>
</ul>
            </nav>
        </div>
    </div>
</div>

              
                
<div id="searchbox"></div>
                <article class="bd-article" role="main">
                  
  <section id="class-interactor">
<span id="exhale-class-classf3d-1-1interactor"></span><h1>Class interactor<a class="headerlink" href="#class-interactor" title="Permalink to this heading">#</a></h1>
<ul class="simple">
<li><p>Defined in <a class="reference internal" href="file_public_interactor.h.html#file-public-interactor-h"><span class="std std-ref">File interactor.h</span></a></p></li>
</ul>
<section id="nested-relationships">
<h2>Nested Relationships<a class="headerlink" href="#nested-relationships" title="Permalink to this heading">#</a></h2>
<section id="nested-types">
<h3>Nested Types<a class="headerlink" href="#nested-types" title="Permalink to this heading">#</a></h3>
<ul class="simple">
<li><p><a class="reference internal" href="structf3d_1_1interactor_1_1already__exists__exception.html#exhale-struct-structf3d-1-1interactor-1-1already-exists-exception"><span class="std std-ref">Struct interactor::already_exists_exception</span></a></p></li>
<li><p><a class="reference internal" href="structf3d_1_1interactor_1_1command__runtime__exception.html#exhale-struct-structf3d-1-1interactor-1-1command-runtime-exception"><span class="std std-ref">Struct interactor::command_runtime_exception</span></a></p></li>
<li><p><a class="reference internal" href="structf3d_1_1interactor_1_1does__not__exists__exception.html#exhale-struct-structf3d-1-1interactor-1-1does-not-exists-exception"><span class="std std-ref">Struct interactor::does_not_exists_exception</span></a></p></li>
</ul>
</section>
</section>
<section id="class-documentation">
<h2>Class Documentation<a class="headerlink" href="#class-documentation" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactorE">
<span id="_CPPv3N3f3d10interactorE"></span><span id="_CPPv2N3f3d10interactorE"></span><span id="f3d::interactor"></span><span class="target" id="classf3d_1_1interactor"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">interactor</span></span></span><a class="headerlink" href="#_CPPv4N3f3d10interactorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Class used to control interaction and animation. </p>
<p>A class to control interaction with the window as well as animation. It also provide a timer callback if needed and can record/play interaction file. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-bindings">Bindings</p>
<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor24documentation_callback_tE">
<span id="_CPPv3N3f3d10interactor24documentation_callback_tE"></span><span id="_CPPv2N3f3d10interactor24documentation_callback_tE"></span><span class="target" id="classf3d_1_1interactor_1a0da4a08de781bf1594885d5e47f3bad0"></span><span class="k"><span class="pre">using</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">documentation_callback_t</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">function</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">pair</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor24documentation_callback_tE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Remove all existing interaction commands and add all default bindings see INTERACTIONS.md for details. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor12initBindingsEv">
<span id="_CPPv3N3f3d10interactor12initBindingsEv"></span><span id="_CPPv2N3f3d10interactor12initBindingsEv"></span><span id="f3d::interactor::initBindings"></span><span class="target" id="classf3d_1_1interactor_1a0957f96b8dafede71815e342b9a6643c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">initBindings</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor12initBindingsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Remove all existing interaction commands and add all default bindings see INTERACTIONS.md for details. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor10addBindingERK18interaction_bind_tNSt6vectorINSt6stringEEENSt6stringE24documentation_callback_t">
<span id="_CPPv3N3f3d10interactor10addBindingERK18interaction_bind_tNSt6vectorINSt6stringEEENSt6stringE24documentation_callback_t"></span><span id="_CPPv2N3f3d10interactor10addBindingERK18interaction_bind_tNSt6vectorINSt6stringEEENSt6stringE24documentation_callback_t"></span><span id="f3d::interactor::addBinding__interaction_bind_tCR.std::vector:ss:.ss.documentation_callback_t"></span><span class="target" id="classf3d_1_1interactor_1ab978cda9e5962750e81a96704139b9ef"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">addBinding</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">bind</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">commands</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">group</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span>, <a class="reference internal" href="#_CPPv4N3f3d10interactor24documentation_callback_tE" title="f3d::interactor::documentation_callback_t"><span class="n"><span class="pre">documentation_callback_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">documentationCallback</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor10addBindingERK18interaction_bind_tNSt6vectorINSt6stringEEENSt6stringE24documentation_callback_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Use this method to add binding, in order to trigger commands for a specific bind</p>
<p>Bind modifiers is a binary flag from the dedicated enum that represent KeyModifiers. Bind interaction can be a pressed key symbol, eg: “C”, or a dedicated key symbol for special keys: “Left”, “Right”, “Up”, “Down”, “Space”, “Enter”, “Escape”, “Question”.</p>
<p>group is an optional arg to group bindings together for better display of the documentation. Groups are kept in order of addition when recovered using <code class="docutils literal notranslate"><span class="pre">getBindGroups</span></code>. Bindings are kept in order of addition when recovered using <code class="docutils literal notranslate"><span class="pre">getBindsForGroup</span></code>.</p>
<p>documentationCallback is an optional function that returns a pair of string, the first is the doc itself, the second is the current value as a string, if any. Use <code class="docutils literal notranslate"><span class="pre">getBindingDocumentation</span></code> to access this doc.</p>
<p>When the corresponding bind happens, the provided commands will be triggered using triggerCommand. Considering checking if an interaction exists or removing it before adding it to avoid potential conflicts.</p>
<p>ANY modifier interactions will only be triggered if no other interaction bind with modifier is found.</p>
<p>Adding commands for an existing bind will throw a <a class="reference internal" href="structf3d_1_1interactor_1_1already__exists__exception.html#structf3d_1_1interactor_1_1already__exists__exception"><span class="std std-ref">interactor::already_exists_exception</span></a>. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor10addBindingERK18interaction_bind_tNSt6stringENSt6stringE24documentation_callback_t">
<span id="_CPPv3N3f3d10interactor10addBindingERK18interaction_bind_tNSt6stringENSt6stringE24documentation_callback_t"></span><span id="_CPPv2N3f3d10interactor10addBindingERK18interaction_bind_tNSt6stringENSt6stringE24documentation_callback_t"></span><span id="f3d::interactor::addBinding__interaction_bind_tCR.ss.ss.documentation_callback_t"></span><span class="target" id="classf3d_1_1interactor_1a33308028b6150f4d428a2ee3675ba762"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">addBinding</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">bind</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">command</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">group</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span>, <a class="reference internal" href="#_CPPv4N3f3d10interactor24documentation_callback_tE" title="f3d::interactor::documentation_callback_t"><span class="n"><span class="pre">documentation_callback_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">documentationCallback</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor10addBindingERK18interaction_bind_tNSt6stringENSt6stringE24documentation_callback_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>See addBinding Convenience method to add a single command for an interaction, similar as <code class="docutils literal notranslate"><span class="pre">addBinding(bind,</span> <span class="pre">{command})</span></code></p>
<p>Adding command for an existing bind will throw a <a class="reference internal" href="structf3d_1_1interactor_1_1already__exists__exception.html#structf3d_1_1interactor_1_1already__exists__exception"><span class="std std-ref">interactor::already_exists_exception</span></a>. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor10addBindingERK18interaction_bind_tNSt16initializer_listINSt6stringEEENSt6stringE24documentation_callback_t">
<span id="_CPPv3N3f3d10interactor10addBindingERK18interaction_bind_tNSt16initializer_listINSt6stringEEENSt6stringE24documentation_callback_t"></span><span id="_CPPv2N3f3d10interactor10addBindingERK18interaction_bind_tNSt16initializer_listINSt6stringEEENSt6stringE24documentation_callback_t"></span><span id="f3d::interactor::addBinding__interaction_bind_tCR.std::initializer_list:ss:.ss.documentation_callback_t"></span><span class="target" id="classf3d_1_1interactor_1a5f6c0d77b8d927cbc879b7b4db32322a"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">addBinding</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">bind</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">initializer_list</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">list</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">group</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span>, <a class="reference internal" href="#_CPPv4N3f3d10interactor24documentation_callback_tE" title="f3d::interactor::documentation_callback_t"><span class="n"><span class="pre">documentation_callback_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">documentationCallback</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d10interactor10addBindingERK18interaction_bind_tNSt16initializer_listINSt6stringEEENSt6stringE24documentation_callback_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Convenience initializer list signature for add binding method </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor13removeBindingERK18interaction_bind_t">
<span id="_CPPv3N3f3d10interactor13removeBindingERK18interaction_bind_t"></span><span id="_CPPv2N3f3d10interactor13removeBindingERK18interaction_bind_t"></span><span id="f3d::interactor::removeBinding__interaction_bind_tCR"></span><span class="target" id="classf3d_1_1interactor_1a51118e178483212809cd642f08192187"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">removeBinding</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">bind</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor13removeBindingERK18interaction_bind_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Remove binding corresponding to provided bind. Does not do anything if the provided bind does not exists. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d10interactor13getBindGroupsEv">
<span id="_CPPv3NK3f3d10interactor13getBindGroupsEv"></span><span id="_CPPv2NK3f3d10interactor13getBindGroupsEv"></span><span id="f3d::interactor::getBindGroupsC"></span><span class="target" id="classf3d_1_1interactor_1a76216af9a5769f6a161e3684a0472eb0"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getBindGroups</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK3f3d10interactor13getBindGroupsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a vector of available bind groups, in order of addition </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d10interactor16getBindsForGroupENSt6stringE">
<span id="_CPPv3NK3f3d10interactor16getBindsForGroupENSt6stringE"></span><span id="_CPPv2NK3f3d10interactor16getBindsForGroupENSt6stringE"></span><span id="f3d::interactor::getBindsForGroup__ssC"></span><span class="target" id="classf3d_1_1interactor_1a1ce42d7e9c7970b51f94961753c4d4be"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getBindsForGroup</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">group</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK3f3d10interactor16getBindsForGroupENSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a vector of bind for the specified group, in order of addition</p>
<p>Getting binds for a group that does not exists will throw a <a class="reference internal" href="structf3d_1_1interactor_1_1does__not__exists__exception.html#structf3d_1_1interactor_1_1does__not__exists__exception"><span class="std std-ref">does_not_exists_exception</span></a>. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d10interactor8getBindsEv">
<span id="_CPPv3NK3f3d10interactor8getBindsEv"></span><span id="_CPPv2NK3f3d10interactor8getBindsEv"></span><span id="f3d::interactor::getBindsC"></span><span class="target" id="classf3d_1_1interactor_1abe553bc027afebaa69365dd4c97cc36a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getBinds</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK3f3d10interactor8getBindsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a vector of all binds, in order of addition </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d10interactor23getBindingDocumentationERK18interaction_bind_t">
<span id="_CPPv3NK3f3d10interactor23getBindingDocumentationERK18interaction_bind_t"></span><span id="_CPPv2NK3f3d10interactor23getBindingDocumentationERK18interaction_bind_t"></span><span id="f3d::interactor::getBindingDocumentation__interaction_bind_tCRC"></span><span class="target" id="classf3d_1_1interactor_1a481e7b976bcee6b64edccc3a197dc42b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">pair</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getBindingDocumentation</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="structf3d_1_1interaction__bind__t.html#_CPPv4N3f3d18interaction_bind_tE" title="f3d::interaction_bind_t"><span class="n"><span class="pre">interaction_bind_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">bind</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK3f3d10interactor23getBindingDocumentationERK18interaction_bind_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get a pair of string documenting a binding. The first string is the documentation of the binding, eg: “Toggle anti aliasing”, “Print scene descr to terminal”, “Decrease light intensity” The second string is the current value of the binding, eg: “OFF”, “” if there is no value or “1.12”. If a binding was not documented on addition, the provided strings will be empty. The possible string can depends on the bindings but boolean value are expected to be “ON”, “OFF”, “N/A” (for optional values).</p>
<p>Getting documentation for a bind that does not exists will throw a <a class="reference internal" href="structf3d_1_1interactor_1_1does__not__exists__exception.html#structf3d_1_1interactor_1_1does__not__exists__exception"><span class="std std-ref">does_not_exists_exception</span></a>. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-command">Command</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor12initCommandsEv">
<span id="_CPPv3N3f3d10interactor12initCommandsEv"></span><span id="_CPPv2N3f3d10interactor12initCommandsEv"></span><span id="f3d::interactor::initCommands"></span><span class="target" id="classf3d_1_1interactor_1a94c69f2d1371ff871c57723ccfbd4392"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">initCommands</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor12initCommandsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Remove all existing commands and add all default commands, see COMMANDS.md for details. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor10addCommandENSt6stringENSt8functionIFvRKNSt6vectorINSt6stringEEEEEE">
<span id="_CPPv3N3f3d10interactor10addCommandENSt6stringENSt8functionIFvRKNSt6vectorINSt6stringEEEEEE"></span><span id="_CPPv2N3f3d10interactor10addCommandENSt6stringENSt8functionIFvRKNSt6vectorINSt6stringEEEEEE"></span><span class="target" id="classf3d_1_1interactor_1a74cbd68066dc428fb1275e8aa400ba64"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">addCommand</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">action</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">function</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">void</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">callback</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor10addCommandENSt6stringENSt8functionIFvRKNSt6vectorINSt6stringEEEEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Use this method to add a command to be called using triggerCommand. Adding a command with an already existing action throw a <a class="reference internal" href="structf3d_1_1interactor_1_1already__exists__exception.html#structf3d_1_1interactor_1_1already__exists__exception"><span class="std std-ref">interactor::already_exists_exception</span></a>. Considering namespacing dedicated action to avoid conflicts with default action, eg: <code class="docutils literal notranslate"><span class="pre">my_app::action</span></code></p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor13removeCommandERKNSt6stringE">
<span id="_CPPv3N3f3d10interactor13removeCommandERKNSt6stringE"></span><span id="_CPPv2N3f3d10interactor13removeCommandERKNSt6stringE"></span><span id="f3d::interactor::removeCommand__ssCR"></span><span class="target" id="classf3d_1_1interactor_1a2fdf5e2aede9c5bc1c6ee18c712575e3"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">removeCommand</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">action</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor13removeCommandERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Remove a command for provided action, does not do anything if it does not exists. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d10interactor17getCommandActionsEv">
<span id="_CPPv3NK3f3d10interactor17getCommandActionsEv"></span><span id="_CPPv2NK3f3d10interactor17getCommandActionsEv"></span><span id="f3d::interactor::getCommandActionsC"></span><span class="target" id="classf3d_1_1interactor_1a98d1f2bd3285717237c558a55bca6988"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getCommandActions</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK3f3d10interactor17getCommandActionsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a string vector containing all currently defined actions of commands </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor14triggerCommandENSt11string_viewE">
<span id="_CPPv3N3f3d10interactor14triggerCommandENSt11string_viewE"></span><span id="_CPPv2N3f3d10interactor14triggerCommandENSt11string_viewE"></span><span id="f3d::interactor::triggerCommand__std::string_view"></span><span class="target" id="classf3d_1_1interactor_1a67df6532e93887fbb5e50ef10d1bc90a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">triggerCommand</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string_view</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">command</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor14triggerCommandENSt11string_viewE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Trigger provided command, see COMMANDS.md for details about supported commands and syntax.</p>
<p>If the command fails, it prints a debug log explaining why.</p>
<p>Return true if the command succeeded, false otherwise. Throw an <a class="reference internal" href="structf3d_1_1interactor_1_1command__runtime__exception.html#structf3d_1_1interactor_1_1command__runtime__exception"><span class="std std-ref">interactor::command_runtime_exception</span></a> if the command callback throw an unrecognized exception. Note that default commands cannot throw such an exception. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-animation">Animation</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor15toggleAnimationEv">
<span id="_CPPv3N3f3d10interactor15toggleAnimationEv"></span><span id="_CPPv2N3f3d10interactor15toggleAnimationEv"></span><span id="f3d::interactor::toggleAnimation"></span><span class="target" id="classf3d_1_1interactor_1a1340e66d32b312424fc614f5a02c493e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">toggleAnimation</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor15toggleAnimationEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Control the animation. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor14startAnimationEv">
<span id="_CPPv3N3f3d10interactor14startAnimationEv"></span><span id="_CPPv2N3f3d10interactor14startAnimationEv"></span><span id="f3d::interactor::startAnimation"></span><span class="target" id="classf3d_1_1interactor_1a28cb2398d9c3f2b988349a9bccdfffed"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">startAnimation</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor14startAnimationEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Control the animation. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor13stopAnimationEv">
<span id="_CPPv3N3f3d10interactor13stopAnimationEv"></span><span id="_CPPv2N3f3d10interactor13stopAnimationEv"></span><span id="f3d::interactor::stopAnimation"></span><span class="target" id="classf3d_1_1interactor_1afef0872711991e30858e67af88f0b240"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">stopAnimation</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor13stopAnimationEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Control the animation. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor18isPlayingAnimationEv">
<span id="_CPPv3N3f3d10interactor18isPlayingAnimationEv"></span><span id="_CPPv2N3f3d10interactor18isPlayingAnimationEv"></span><span id="f3d::interactor::isPlayingAnimation"></span><span class="target" id="classf3d_1_1interactor_1a4c1b56b4ec237630491274511a17fe8e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">isPlayingAnimation</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor18isPlayingAnimationEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Control the animation. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-movement">Movement</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor20enableCameraMovementEv">
<span id="_CPPv3N3f3d10interactor20enableCameraMovementEv"></span><span id="_CPPv2N3f3d10interactor20enableCameraMovementEv"></span><span id="f3d::interactor::enableCameraMovement"></span><span class="target" id="classf3d_1_1interactor_1a5b1675fa0ef04bb7dba0121de5202dd6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">enableCameraMovement</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor20enableCameraMovementEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Control if camera movements are enabled, which they are by default. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor21disableCameraMovementEv">
<span id="_CPPv3N3f3d10interactor21disableCameraMovementEv"></span><span id="_CPPv2N3f3d10interactor21disableCameraMovementEv"></span><span id="f3d::interactor::disableCameraMovement"></span><span class="target" id="classf3d_1_1interactor_1a57ec2c27e00e8476647801132d26dffd"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">disableCameraMovement</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor21disableCameraMovementEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Control if camera movements are enabled, which they are by default. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor15playInteractionERKNSt10filesystem4pathEdNSt8functionIFvvEEE">
<span id="_CPPv3N3f3d10interactor15playInteractionERKNSt10filesystem4pathEdNSt8functionIFvvEEE"></span><span id="_CPPv2N3f3d10interactor15playInteractionERKNSt10filesystem4pathEdNSt8functionIFvvEEE"></span><span class="target" id="classf3d_1_1interactor_1a1ed1405954d49fcee5e687a56cc83bf1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">playInteraction</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">filesystem</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">path</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">file</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">deltaTime</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1.0</span></span><span class="w"> </span><span class="o"><span class="pre">/</span></span><span class="w"> </span><span class="m"><span class="pre">30</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">function</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">void</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">userCallBack</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor15playInteractionERKNSt10filesystem4pathEdNSt8functionIFvvEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Play a VTK interaction file. Provided file path is used as is and file existence will be checked. The event loop will be triggered every deltaTime in seconds, and userCallBack will be called at the start of the event loop </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor17recordInteractionERKNSt10filesystem4pathE">
<span id="_CPPv3N3f3d10interactor17recordInteractionERKNSt10filesystem4pathE"></span><span id="_CPPv2N3f3d10interactor17recordInteractionERKNSt10filesystem4pathE"></span><span id="f3d::interactor::recordInteraction__std::filesystem::pathCR"></span><span class="target" id="classf3d_1_1interactor_1a22d9604dde214323080fae5ab947e08b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">recordInteraction</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">filesystem</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">path</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">file</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor17recordInteractionERKNSt10filesystem4pathE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Start interaction and record it all in a VTK interaction file. Provided file path will be used as is and the parent directories of the file will be created </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor5startEdNSt8functionIFvvEEE">
<span id="_CPPv3N3f3d10interactor5startEdNSt8functionIFvvEEE"></span><span id="_CPPv2N3f3d10interactor5startEdNSt8functionIFvvEEE"></span><span class="target" id="classf3d_1_1interactor_1a390ca8cf4e2af7665372729798259411"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">start</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">deltaTime</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1.0</span></span><span class="w"> </span><span class="o"><span class="pre">/</span></span><span class="w"> </span><span class="m"><span class="pre">30</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">function</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">void</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">userCallBack</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor5startEdNSt8functionIFvvEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Start the interactor event loop. The event loop will be triggered every deltaTime in seconds, and userCallBack will be called at the start of the event loop </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor4stopEv">
<span id="_CPPv3N3f3d10interactor4stopEv"></span><span id="_CPPv2N3f3d10interactor4stopEv"></span><span id="f3d::interactor::stop"></span><span class="target" id="classf3d_1_1interactor_1a57139406a040423c32dece85633a10d9"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">stop</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor4stopEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Stop the interactor. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor13requestRenderEv">
<span id="_CPPv3N3f3d10interactor13requestRenderEv"></span><span id="_CPPv2N3f3d10interactor13requestRenderEv"></span><span id="f3d::interactor::requestRender"></span><span class="target" id="classf3d_1_1interactor_1a01d92eda48b70202dce9740fdda24ce8"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d10interactorE" title="f3d::interactor"><span class="n"><span class="pre">interactor</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">requestRender</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N3f3d10interactor13requestRenderEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Request a render to be done on the next event loop Safe to call in a multithreaded environment </p>
</dd></dl>

</div>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor24already_exists_exceptionE">
<span id="_CPPv3N3f3d10interactor24already_exists_exceptionE"></span><span id="_CPPv2N3f3d10interactor24already_exists_exceptionE"></span><span id="f3d::interactor::already_exists_exception"></span><span class="target" id="structf3d_1_1interactor_1_1already__exists__exception"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">already_exists_exception</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="class_structf3d_1_1exception.html#_CPPv4N3f3d9exceptionE" title="f3d::exception"><span class="n"><span class="pre">exception</span></span></a><a class="headerlink" href="#_CPPv4N3f3d10interactor24already_exists_exceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An exception that can be thrown by the interactor when adding something that already exists internally </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor24already_exists_exception24already_exists_exceptionERKNSt6stringE">
<span id="_CPPv3N3f3d10interactor24already_exists_exception24already_exists_exceptionERKNSt6stringE"></span><span id="_CPPv2N3f3d10interactor24already_exists_exception24already_exists_exceptionERKNSt6stringE"></span><span id="f3d::interactor::already_exists_exception::already_exists_exception__ssCR"></span><span class="target" id="structf3d_1_1interactor_1_1already__exists__exception_1a356bff2bef426f4c93727c87f8850521"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">already_exists_exception</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">what</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;&quot;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d10interactor24already_exists_exception24already_exists_exceptionERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor25command_runtime_exceptionE">
<span id="_CPPv3N3f3d10interactor25command_runtime_exceptionE"></span><span id="_CPPv2N3f3d10interactor25command_runtime_exceptionE"></span><span id="f3d::interactor::command_runtime_exception"></span><span class="target" id="structf3d_1_1interactor_1_1command__runtime__exception"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">command_runtime_exception</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="class_structf3d_1_1exception.html#_CPPv4N3f3d9exceptionE" title="f3d::exception"><span class="n"><span class="pre">exception</span></span></a><a class="headerlink" href="#_CPPv4N3f3d10interactor25command_runtime_exceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An exception that can be thrown by <a class="reference internal" href="#classf3d_1_1interactor_1a67df6532e93887fbb5e50ef10d1bc90a"><span class="std std-ref">interactor::triggerCommand</span></a> when a command callback throw an exception </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor25command_runtime_exception25command_runtime_exceptionERKNSt6stringE">
<span id="_CPPv3N3f3d10interactor25command_runtime_exception25command_runtime_exceptionERKNSt6stringE"></span><span id="_CPPv2N3f3d10interactor25command_runtime_exception25command_runtime_exceptionERKNSt6stringE"></span><span id="f3d::interactor::command_runtime_exception::command_runtime_exception__ssCR"></span><span class="target" id="structf3d_1_1interactor_1_1command__runtime__exception_1ac33aa8920fd869f50066de4ca067f950"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">command_runtime_exception</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">what</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;&quot;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d10interactor25command_runtime_exception25command_runtime_exceptionERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor25does_not_exists_exceptionE">
<span id="_CPPv3N3f3d10interactor25does_not_exists_exceptionE"></span><span id="_CPPv2N3f3d10interactor25does_not_exists_exceptionE"></span><span id="f3d::interactor::does_not_exists_exception"></span><span class="target" id="structf3d_1_1interactor_1_1does__not__exists__exception"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">does_not_exists_exception</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="class_structf3d_1_1exception.html#_CPPv4N3f3d9exceptionE" title="f3d::exception"><span class="n"><span class="pre">exception</span></span></a><a class="headerlink" href="#_CPPv4N3f3d10interactor25does_not_exists_exceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An exception that can be thrown by the interactor when looking for something that does not exists </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d10interactor25does_not_exists_exception25does_not_exists_exceptionERKNSt6stringE">
<span id="_CPPv3N3f3d10interactor25does_not_exists_exception25does_not_exists_exceptionERKNSt6stringE"></span><span id="_CPPv2N3f3d10interactor25does_not_exists_exception25does_not_exists_exceptionERKNSt6stringE"></span><span id="f3d::interactor::does_not_exists_exception::does_not_exists_exception__ssCR"></span><span class="target" id="structf3d_1_1interactor_1_1does__not__exists__exception_1a8f83956aa6132858e28d94ca1f8b7685"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">does_not_exists_exception</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">what</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;&quot;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d10interactor25does_not_exists_exception25does_not_exists_exceptionERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

</dd></dl>

</section>
</section>


                </article>
              

              
              
                <footer class="bd-footer-article">
                  <!-- Previous / next buttons -->
<div class="prev-next-area">
    <a class="left-prev"
       href="classf3d_1_1image.html"
       title="previous page">
      <i class="fa-solid fa-angle-left"></i>
      <div class="prev-next-info">
        <p class="prev-next-subtitle">previous</p>
        <p class="prev-next-title">Class image</p>
      </div>
    </a>
    <a class="right-next"
       href="classf3d_1_1log.html"
       title="next page">
      <div class="prev-next-info">
        <p class="prev-next-subtitle">next</p>
        <p class="prev-next-title">Class log</p>
      </div>
      <i class="fa-solid fa-angle-right"></i>
    </a>
</div>
                </footer>
              
            </div>
            
            
              
                <div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">

  <div class="sidebar-secondary-item">
  <div class="page-toc tocsection onthispage">
    <i class="fa-solid fa-list"></i> Contents
  </div>
  <nav class="bd-toc-nav page-toc">
    <ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-relationships">Nested Relationships</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-types">Nested Types</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#class-documentation">Class Documentation</a></li>
</ul>
  </nav></div>

</div></div>
              
            
          </div>
          <footer class="bd-footer-content">
            <div class="bd-footer-content__inner">
<div class="bd-footer-content__inner container">
  
  <div class="footer-item">
    
<p class="component-author">
By Michael Migliore and Mathieu Westphal
</p>

  </div>
  
  <div class="footer-item">
    
  <p class="copyright">
    
      © Copyright 2024, Michael Migliore and Mathieu Westphal.
      <br/>
    
  </p>

  </div>
  
  <div class="footer-item">
    
  </div>
  
  <div class="footer-item">
    
  </div>
  
</div></div>
          </footer>
        

      </main>
    </div>
  </div>
  
  <!-- Scripts loaded after <body> so the DOM is not blocked -->
  <script src="../_static/scripts/bootstrap.js?digest=12da95d707ffb74b382d"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=12da95d707ffb74b382d"></script>

  <footer class="bd-footer">
  </footer>
  </body>
</html>